#ifndef __TWOSUM_H__
#define __TWOSUM_H__

#include <vector>
#include <unordered_map>
using namespace std;

/*
* leetcode 1  两数之和
*/

/*
* 给定一个整数数组 nums 和一个整数目标值 target
* 请你在该数组中找出 和为目标值 target  的那 两个 整数, 并返回它们的数组下标。
*/
vector<int> TwoSum(vector<int>& nums, int target) {
	unordered_map<int, int> hashMap;
	for (int i = 0; i < nums.size(); i++) {
		auto find = hashMap.find(target - nums[i]);
		if (find != hashMap.end())
			return { (*find).second, i };

		hashMap.insert({ nums[i], i });
	}

	return {};
}
#endif // !__TWOSUM_H__

